GNOME apps use (or are encouraged to use) flatpak in their CI setup[0],
so do that for the Extensions app as well and get:
- test building the flatpak
- produce a bundle for download and testing
- publish the build in gnome-nightly
[0] https://gitlab.gnome.org/GNOME/Initiatives/wikis/DevOps-with-Flatpak
https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1133
+include: 'https://gitlab.gnome.org/GNOME/citemplates/raw/master/flatpak/flatpak_ci_initiative.yml'
+
stages:
- review
- build
- test
+ - deploy
variables:
+ BUNDLE: "extensions-git.flatpak"
JS_LOG: "js-report.txt"
POT_LOG: "pot-update.txt"
' | tee $POT_LOG
- (! grep -q . $POT_LOG)
<<: *only_default
+
+flatpak:
+ stage: build
+ variables:
+ SUBPROJECT: "subprojects/extensions-app"
+ # Your manifest path
+ MANIFEST_PATH: "$SUBPROJECT/build-aux/flatpak/org.gnome.Extensions.json"
+ RUNTIME_REPO: "https://nightly.gnome.org/gnome-nightly.flatpakrepo"
+ FLATPAK_MODULE: "gnome-extensions-app"
+ APP_ID: "org.gnome.Extensions"
+ MESON_ARGS: "$SUBPROJECT"
+ extends: .flatpak
+ before_script:
+ - flatpak run --command=$SUBPROJECT/generate-translations.sh
+ --filesystem=host org.gnome.Sdk//master
+ <<: *only_default
+
+nightly:
+ extends: '.publish_nightly'
+ variables:
+ BUNDLES: '$BUNDLE'